Radio access point location verification using GPS location and radio environment data

ABSTRACT

Techniques are provided to perform location verification of a radio access point device such as femtocell. The radio access point device is configured to receive signals from global positioning system (GPS) satellite transmitters to produce GPS location data representing a GPS location of the radio access point device. The radio access point device is also configured to receive wireless signals at one or more specified channels and to generate radio environment data representing characteristics of received wireless signals. A comparison is made between the GPS location data and reference GPS location data for an expected location of the radio access point device. When the GPS location data substantially matches the reference GPS location data, operations of the radio access point device are enabled and the radio environment data is stored to be used as reference radio environment data for purposes of subsequent location verification of the radio access point device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.14/873,285, filed Oct. 2, 2015, which is in turn a continuation of U.S.application Ser. No. 12/372,398, filed Feb. 17, 2009, now U.S. Pat. No.9,207,304. The entirety of each of these applications is incorporatedherein by reference.

TECHNICAL FIELD

The present disclosure relates to managing operations of radio accesspoint devices, such as femtocell access point devices, in wirelesscommunication networks.

BACKGROUND

Femtocell access point devices are radio access point devices that aredeployed at subscriber sites in order to improve coverage of mobilewireless communication service (e.g., cell phone, wireless messaging,etc.) and thereby offload the burden on the infrastructure of the mobileservice provider. Femtocell access points are essentially cellulartransceiver towers. Like cell towers, femtocell access points operate ina licensed spectrum that is subject to strict regulatory constraints onservice providers. For example, a femtocell access point should nottransmit on a frequency that is not licensed by a service provider in agiven location. The Federal Communication Commission (FCC) requirementsin the United States are particularly strict and a service provider mayhave licensed different frequencies in different parts of the country.As a result of this regulatory environment, femtocell access pointdeployments require ongoing location verification.

Techniques to perform location verification typically involve twomechanisms: Global Positioning System (GPS) based location and radionetwork scan. GPS location techniques require a line-of-sight from thefemtocell access point device to the sky and the GPS receiver in thefemtocell access point has to “lock” to signals from several differentsatellites in order to obtain an accurate GPS location. Moreover, a GPSlocation procedure may require up to 20 minutes (or longer) in order tolock to signals from the satellites. The use of an external antennapartially alleviates the line-of-sight issues. However, the relativelylong period of time needed to lock to the satellites is undesirable,particularly when the femtocell access point device is rebooting andcannot resume serving devices in the wireless network until the locationhas been verified on reboot.

The radio scan function of the femtocell access point allows it tolisten to its radio environment and detect neighbor cellulartransceivers. Neighbor cellular transceiver “towers” transmit signalsthat contain basic information, such as country, network and cellulartransceiver identification. At a basic level, the radio scan functionallows a femtocell access point to ascertain that it is in the rightcountry and in the neighborhood of the correct “macro” cell(s). However,this information alone may not be sufficient to determine the precisegeographic location of the femtocell access point device and thecorresponding frequency on which the femtocell access point shouldoperate.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example of a block diagram of a wireless communicationnetwork in which location verification techniques described herein areemployed when enabling service of radio access point devices.

FIG. 2 is an example of a block diagram of a radio access point devicethat is configured to generate GPS location data and radio environmentdata that are used in the location verification techniques.

FIG. 3 is an example of a block diagram of a control server that isconfigured to perform location verification of radio access pointdevices.

FIGS. 4 and 5 illustrate examples of flow charts for logic that isexecuted in the radio access point device that is configured toparticipate in the location verification techniques described herein.

FIGS. 6-8 illustrate examples of flow charts for logic that is executedin the control server that is configured to perform the locationverification techniques described herein.

FIG. 9 is an example of a block diagram of a radio access point devicethat is configured to generate GPS location data and radio environmentdata and to autonomously perform the location verification techniquesdescribed herein.

FIGS. 10-12 are examples of flow charts for logic executed in the radioaccess point device that is configured to autonomously perform thelocation verification techniques described herein.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Techniques are provided to perform location verification of a radioaccess point device. The radio access point device is configured toreceive signals from global positioning system (GPS) satellitetransmitters to produce GPS location data representing a geographicallocation of the radio access point device. The radio access point deviceis also configured to receive wireless signals at one or more channelsand to generate radio environment data representing characteristics ofreceived wireless signals at the one or more channels in an environmentor vicinity of the radio access point device. A comparison is madebetween the GPS location data and reference GPS location data for anexpected location of the radio access point device. The expectedlocation can be determined based on subscriber registration data. Whenthe GPS location data substantially matches the reference GPS locationdata, service of the radio access point device is enabled and the radioenvironment data is stored to be used as reference radio environmentdata for purposes of subsequent location verification of the radioaccess point device, which may allow future location verification tobypass the GPS test.

Referring first to FIG. 1, a communication system 5 is shown in which awide area wireless communication network 10, e.g., a wireless cellularnetwork, is deployed. The network 10 comprises a plurality of cellularradio transceiver “towers”, two of which are shown at 20(1) and 20(2) toserve wireless network clients, e.g., multiple mobile wireless handsetdevices, two of which are shown at 30(1) and 30(2) in FIG. 1. It shouldbe understood that an actual wireless network 10 may have more than twocellular radio transceiver towers and more than two wireless clientdevices but only two of each are shown in FIG. 1 for simplicity. Thecellular radio transceiver towers 20(1) and 20(2) connect to a serviceprovider wireless network infrastructure hub 40 that in turn interfacesto any of a variety of telecommunication service networks, such as thepublic switched telephone network (PSTN).

In order to improve coverage of the wireless network 10 and to offloadsome servicing burden of the infrastructure of the wireless network 10,a radio access point (RAP) device 50 is deployed. A single RAP device 50is shown in FIG. 1, but it should be understood that there may bemultiple RAP devices deployed in different locations throughout areaswhere coverage is desired for the wireless network. Depending on thesize and capacity of the RAP device 50, it may be referred to as a“femtocell” access point device, as a picocell access point device, as ananocell access point device or other trade names. The RAP device 50connects to a provisioning management server 60 via the Internet 65. Theprovisioning management server 60 (also referred to herein as a “controlserver”) connects to the service provider wireless networkinfrastructure hub 40 via the Internet 65 and manages activation of RAPdevices 50 in the wireless network 10. Data associated with servicesthat are served by the RAP 50 are routed via the Internet 65 to theservice provider wireless network infrastructure hub 40.

RAP devices act as cellular radio transceiver towers in that theyoperate in licensed spectrum just like the larger and fixed cellularradio transceiver towers 20(1) and 20(2). However, since RAP devices areby their nature movable from one location to another, deployment andservice activation of RAP devices involves location verification inorder to ensure compliance with regulatory requirements. To this end,each RAP device is equipped with the capability to generate datarepresenting its geographic location in order to verify that the RAPdevice is operating in a location where it is permitted to do so withinthe regulatory and service provider requirements.

According to the techniques described herein, a combination of GPSlocation data and radio environment data are used to verify that a RAPdevice is at a proper location, and therefore may be activated toservice (transmit signals to and receive signals from) wireless clientdevices, e.g., mobile handsets, of the wireless network 10. GPSsatellites are shown at 70(1)-70(K). The RAP device 50 has a GPSreceiver and is capable of computing its GPS location on earth fromsignals received from multiple GPS satellite transmitters. Upon initialactivation of the RAP device 50 (and prior to enabling service for thefirst time), the GPS location data determined by the RAP device 50 isused to first verify that the RAP device is at an acceptable location.If it is determined to be at an acceptable location based on the GPSlocation data, radio environment data is scanned by the RAP device isthen stored for later use as reference radio environment data forsubsequent location verification of the RAP device, if necessary. Forexample, on subsequent reboots of the RAP device 50, radio environmentdata generated at reboot time is compared against the reference radioenvironment data to verify the location of the RAP device 50. At reboot,GPS location data is only used if there is a mismatch between the radioenvironment data obtained at reboot and the reference radio environmentdata. This avoids the need to perform the more time-consuming GPSlocation procedure. In addition, periodic or on-demand radio environmentdata captures are performed for an RAP device in order to adjust orupdate the reference radio environment data to account for the possiblechanges in the radio environment around the RAP device. This increasesthe likelihood that location verification on next reboot will notrequire use of the GPS procedures.

The location verification process may be collaborative between the RAPdevice 50 and the control server 60. In the collaborative form of thelocation verification process, the control server 60 stores referenceGPS location data against which the GPS location data obtained by theRAP device 50 at initial activation (and reboot if necessary) iscompared. The reference data for GPS may be obtained when device isregistered within service provider systems, for example, based on theaddress were device is expected to be deployed. The control server 60also stores the reference radio environment data captured by the RAPdevice 50 for purposes of maintaining a reference or benchmark (i.e., afingerprint) against which subsequently captured radio environment datafrom that RAP device is compared (such as in the reboot scenario). Thereference radio environment data is only stored if the location of theRAP device 50 was verified using GPS comparison. Also, in thecollaborative form, the control server 60 makes the comparisons andsends messages to the RAP device to enable or re-enable service of theRAP device.

However, in another form of the location verification process, the RAPdevice 50 is configured to enable and re-enable service autonomously. Inthe autonomous form, the RAP device 50 is configured with and stores thereference GPS location data for comparison against actual GPS locationdata when the RAP device service is initially activated (or upon rebootif location verification based on radio environment data fails), and tostore the reference radio environment data against which subsequentlycaptured radio environment data is compared. Also in the autonomousform, the RAP device 50 determines on its own, without receipt ofmessages from the control server 60, as to whether it is to be enabledor re-enabled for service depending of the results of locationverification made by the RAP device 50. As explained furtherhereinafter, a RAP device that is configured to operate autonomously maybe configured to contact the control server to receive initialprovisioning data that includes the reference GPS location data for anexpected location of the RAP device and tolerance data that describes atolerance range within which a match to the reference GPS location andradio environment data is to be declared.

FIGS. 2-8 pertain to the collaborative form of the location verificationprocess and FIGS. 9-12 pertain to the autonomous form of the locationverification process.

Turning now to FIG. 2, an example block diagram is shown of RAP device50 that is configured to participate in the collaborative form of thelocation verification techniques described herein. The RAP device 50comprises a controller 100 that serves as the primary control componentof the RAP device 50. There is a cellular modem and radio frequency (RF)transceiver unit 110 that is configured to perform the baseband and RFsignal processing required to transmit and receive over-the-air signalsaccording to a desired wireless communication standard that is employedin the wireless network 10, much like the signals transmitted by thecellular radio transceiver towers 20(1) and 20(2) shown in FIG. 1. Thecellular modem and RF transceiver unit 110 transmits signals andreceives wireless (RF) signals via the antenna 112 in order to servewireless client devices operating in the wireless network 10 (FIG. 1).Thus, the RAP device 50 is said to be “enabled” or “re-enabled” forservice when it has been configured or commanded to transmit and receivewireless radio signals with respect to wireless client devices operatingin the wireless network 10. There is also a GPS receiver 120 thatreceives signals from GPS satellite transmitters via antenna 122. Thecontroller 100 controls operation of the cellular modem and RFtransceiver 110 as well as the GPS receiver 120. A network interfaceunit 130 is provided that connects to the controller 100 and interfacesthe RAP device 50 to a data network, e.g., a local area network, that isin turn connected to the Internet 65.

The controller 100 may, in one example, be a programmable microprocessoror microcontroller, etc., that executes instructions encoded in aprocessor readable memory medium, e.g., memory 140. To this end, thereare instructions encoded or otherwise stored in the memory 140 for radioscan logic 150, GPS location logic 160 and service activation and rebootlogic 200 encoded or otherwise stored in the memory 140. The controller100 executes the radio scan logic 150 in order to control the cellularmodem and RF transceiver 110 to perform a scan at one or more specifiedchannels in order to generate radio environment data from receivedwireless signals at the one or more specified channels of interest.Examples of the information contained in the radio environment data aredescribed hereinafter. Similarly, the controller 100 executes the GPSlocation logic 160 to control the GPS receiver 120 to receive signalsfrom GPS satellite transmitters and to compute GPS location datarepresenting a location of the RAP device 50 on earth. The GPS locationdata may comprise latitude/longitude coordinate data.

Under control of the radio scan logic 150, the controller 100 controlsthe cellular modem and RF transceiver 110 during a radio scan event toextract data from received RF signals, e.g., received cellular signals,and to make measurements of the received signal power, etc., for use inconstructing a “fingerprint” of the radio environment data to be used asa reference. The controller 100 executes the service activation andreboot logic 200 when the RAP device 50 is initially powered up, is shutdown and subsequently rebooted (after initial service activation) andduring normal service to update the radio environment data. In thecourse of execution the service activation and reboot logic 200, thecontroller 100 also executes the radio scan logic 150 and/or the GPSlocation logic 160. The service activation and reboot logic 200 isdescribed in further detail hereinafter in conjunction with FIGS. 4 and5.

Turning now to FIG. 3, an example of a block diagram of the controlserver 60 is described. The control server 60 may comprise one or moreserver computers equipped with software to perform a variety ofmanagement functions for RAP devices. One such management function is tocontrol service activation of RAP devices by first verifying that theyare located where they should be located and thus permitted to transmitRF signals within a certain geographical area where they should belocated. In the collaborative form of the techniques described herein,the control server 60 is equipped to communicate with RAP devices toverify their locations before enabling them for service and forre-enabling RAP devices for service upon reboot as necessary. Thecontrol server 60 comprises a data processor 300 (e.g., one or moreserver computers) that stores and executes RAP location verificationlogic 400. The control server 60 may comprise a data storage device 310that stores the reference GPS location data and reference radioenvironment data for each RAP device that the control server 60 isresponsible to manage in the wireless network 10.

With reference now to FIGS. 4 and 5, the service activation and rebootlogic 200 is described. For simplicity, the logic 200 is separated intotwo components, logic 210 and logic 230. FIG. 4 is a flow chart forlogic 210 and FIG. 5 is a flow chart for logic 230. The logic 210pertains to the functions in the RAP device 50 for initial serviceactivation of the RAP device and subsequent updating of the radioenvironment data after initial service activation. The logic 230pertains to the functions in the RAP device 50 that are performed whenthe RAP device is rebooted from a shut-down mode at some time afterinitial service activation. There are a variety of reasons why the RAPdevice may have to be rebooted, such as power failure, software failureand repair, hardware failure and repair, etc.

Referring first to FIG. 4, with reference also to FIGS. 1 and 2, thelogic 210 is described. The logic 210 begins at 212 with the assumptionthat the RAP device is not yet activated for service. For example, theRAP device is about to be installed by a user at a user site. When auser powers up the RAP device, the controller 100 recognizes that it hasnot yet been activated and enabled for service by the control server 60.Therefore, at 214, the controller 100 invokes the radio scan logic 150to perform a radio network scan of RF signals and invokes the GPSlocation logic 160 to receive GPS signals and determine the GPS locationof the RAP device. In a variation of the above, the control server 60,in response to receiving a simple boot notification message from the RAPdevice 50, may send a message to the RAP device 50 instructing it toperform the initial GPS location computation and radio network scan.Once the RAP device performs the radio network scan and generates radioenvironment data and generates GPS location data, it sends this data tothe control server 60.

The radio environment data may comprise one or more pieces ofinformation concerning the RF environment in the vicinity of the RAPdevice 50. For example, the radio environment data may comprise anidentifier (ID) of one or more cellular radio transceiver towers whichtransmit within the vicinity of RAP (e.g., ID of cellular radiotransceiver tower 20(1) and/or 20(2) shown in FIG. 1) also known as aneighbor cell ID, ID of one or more nearby RAP devices, a so-called“country code” extracted from a received cellular signal from a nearbyradio transceiver tower, a so-called “network code” from a receivedcellular signal from a nearby radio transceiver tower or from a mobilehandset device, and frequency of each of one or more cellular signalsreceived from a nearby radio transceiver tower, etc. In addition, theradio environment data may include one or more of a scrambling code of areceived cellular signal, a regional network controller ID for acellular radio transceiver, a received power of a signal from a cellularradio transceiver, an indication of transmitted power level for a signaltransmitted by a cellular radio transceiver, and transmission power lossderived from a difference between transmitted signal power and receivedsignal power of a cellular signal from a cellular transceiver tower. Thetransmitted power of a cellular signal may be encoded in a field of thecellular signal. As explained above, the cellular modem and RFtransceiver 110 extracts from received wireless signals data that isuseful for the radio environment data and also makes measurements onreceived signals that are useful for the radio environment data. Belowis a table that lists an example of radio environment data that a RAPdevice may produce. It is to be understood, however, that the structureof the radio environment data is flexible and can accommodate uniquewireless network service provider requirements.

TABLE 1 Example of Radio Environment Data Neighbor Country NetworkFrequency Receive power transmitter Cell ID Code Code Channel strength#1 45678 310 234 256 −50 dBm #2 34561 310 235 9257 −58 dBm #3 12678 310356 258 −62 dBm

The control server 60 receives the GPS location data and the radioenvironment data from the RAP device and performs location verificationto determine whether or not to enable service the RAP device. Theprocess of location verification is described hereinafter in conjunctionwith FIG. 6. Generally, when the control server 60 determines that theRAP device is at a location where it is permitted to operate, it sends,via the Internet, a message to the RAP device instructing the RAP toenable service. Thus, at 216, when the RAP device receives the messageinstructing it to enable service, the RAP enables service at 218. If theRAP device does not receive this message from the control server 60, theRAP device is kept in a service disabled state as indicated at 220 andmay at a later point obtain new radio environment and GPS data andattempt to get activation authorization from the control server 60again.

When the RAP device 50 is enabled for service at 218, the logic 210essentially goes to sleep for a configurable period of time as indicatedat 219 before performing an updated radio network scan. Alternatively,the control server 60 may send a message to the RAP device 50 commandingit to perform a new radio network scan. The purpose of performing theupdated radio network scan is to update the radio environment data fromtime to time to account for possible changes in the RF environmentsurrounding the RAP device 50. At 222, the controller 100 in the RAPdevice invokes the radio scan logic 150 to perform a radio network scanof RF signals and generates updated radio environment data that is thensent to the control server 60 to update the reference radio environmentdata maintained at the control server 60 (if necessary) for the RAPdevice 50. This process of updating the radio environment data,represented by the functions 219 and 222, is repeated periodically asindicated by the loop back from 222 to 219 in FIG. 4, or on demand.

In one variation to the logic 210, when the RAP device 50 generates theradio environment data, it may be configured to generate “raw” dataassociated with signals received by the cellular modem and RFtransceiver 110, and to send this “raw” data to the control server 60.The control server 60 then processes the “raw” data to generate theradio environment data fingerprint for the radio environment data usingpieces of the raw data that are deemed to be relevant.

In another variation to the process logic 210 shown in FIG. 4, it may bedesirable to periodically repeat the location verification functionsshown at 214-220 even after service has been enabled for the RAP device50. This would serve as additional location verifications that may bedesired by the service provider even after service is initially enabledat the RAP device 50. If at one of these periodic location verificationtests it is determined that location verification fails, then service ofthe RAP device 50 is disabled. Further still, prior to initial serviceenablement of the RAP device 50, the functions 214-220 may be repeatedperiodically until service for the RAP device 50 is eventually initiallyenabled.

Turning to FIG. 5, with reference also to FIGS. 1 and 2, the logic 230is now described. The logic 230 is configured to achieve locationverification of the RAP device 50 when, after initial activation, it isrebooted. As indicated at 231, when rebooted the RAP device 50 starts upwith service disabled in order to enable location verification to takeplace first. For example, the RAP device 50 may have been moved while itwas powered down. At 232, when the RAP device 50 is rebooted (powered-upagain), the controller 100 is configured to recognize the rebootoperation and to invoke the radio scan logic 150 to perform a radionetwork scan in order to generate radio environment data and to send theradio environment data to the control server 60 in a reboot requestmessage. Alternatively, the RAP device 50 may simply contact the controlserver 60 upon reboot notifying it of reboot and the control server 60may instruct the RAP device to perform the radio scan. Once the controlserver 60 receives radio environment data from the RAP device, thecontrol server 60 verifies the location of the RAP device by comparingthe radio environment data with the stored reference radio environmentdata to determine whether there is a substantial match. Thus, at 234, ifthe RAP device receives a message instructing it to re-enable service,then the RAP device re-enables service at 236 and can resume servingwireless client devices in the wireless network 10.

When the RAP device does not receive a message commanding it tore-enable service, then at 238, the controller 100 waits to receive amessage from the control server 60 that commands it to perform a GPSlocation determination to generate GPS location data. Until such acommand message is received, the RAP device 50 is kept disabled asindicated at 239. When the RAP device 50 receives the message to captureGPS location data, at 240 the controller 100 in the RAP device invokesthe GPS location logic to generate GPS location data and sends the GPSlocation data to the control server 60. In a variation, the GPS locationfunction at 240 may be invoked automatically by the RAP device 50 whenit does not receive a message instructing it to re-enable service basedon radio environment data. The control server 60 compares the GPSlocation data with the reference GPS location data for the RAP device 50and if they substantially match, sends a control message to the RAPdevice 50 to re-enable service. At 241, the controller 100 waits for andresponds to the message from the control server 60 to re-enable service,and at 236, re-enables RAP service. Otherwise, RAP service is keptdisabled as indicated at 242, in which case the reactivation processdescribed in FIG. 5 may be repeated at a later point in time.

Reference is now made to FIGS. 6-8 for a description of the RAP locationverification logic 400 in the control server 60. For simplicity, the RAPlocation verification logic 400 is separated into three logiccomponents: logic 410 for location verification for initial serviceactivation of a RAP device, logic 430 for storing updated radioenvironment data, and logic 450 for location verification at reboot (RAPservice re-enablement).

Referring first to FIG. 6, with reference also to FIGS. 1 and 3, thelogic 410 for location verification upon initial service activation ofan RAP device is now described. At 412, the control server 60 receivesan initial service activation request message from a RAP device and theinitial service activation request message comprises GPS location datacaptured by the RAP device and radio environment data captured uponinitial power up of the RAP device. Alternatively, control server 60receives a message with boot notification from the RAP device 50,recognizes that this is initial activation and sends a control messageto RAP device to request radio environment and GPS data. At 414, thecontrol server 60 compares the GPS location data with stored referenceGPS location data for the RAP device that is requesting activation. Thestored reference GPS location data may be determined from an expectedlocation of the RAP device when it was sold or distributed to a user orcustomer, such as from an expected location determined based onuser/subscriber registration data (such as a postal address).

When it is determined that the GPS location data captured by the RAPdevice substantially matches the reference GPS location data, thenlocation verification is said to have passed, and at 418 the controlserver 60 stores the radio environment data as reference radiofingerprint data for that RAP device. At 420, the control server 60sends a message to the RAP device to enable service of the RAP device.When used herein, “substantially or sufficiently match” is meant toinclude a complete match as well as a match within a specified orconfigurable tolerance range. The degree to which GPS location mustmatch can be controlled via administrative configuration made at thecontrol server 60. As indicated at 416, the control server 60 does notsend a message enabling service of the RAP device when the GPS locationdata comparison fails at 414.

Thus, at 418, the control server 60 stores data for each RAP that passeslocation verification upon initial activation. Table 2 below showsexamples of data stored at the control server 60 for RAP device assignedidentifier 3576421 and for RAP device assigned identifier 7745531.

TABLE 2 RAP Location and Radio environment data RAP ID 3576421 Reference(Expected) GPS Location Data Latitude: 45′56″32 N Longitude: 33′23″12 WReference Radio Environment Data Neighbor Cell ID: 34564 Receive Power:−98 dBm Neighbor Cell ID: 44321 Receive Power: −63 dBm RAP ID 7745531Reference (Expected) GPS Location Data Latitude: 15′66″12 N Longitude:26′23″55 W Reference Radio Environment Data Neighbor Cell ID: 24364Receive Power: −82 dBm Neighbor Cell ID: 14121 Receive Power: −45 dBm

Turning to FIG. 7, again with continued reference to FIGS. 1 and 3, thelogic 430 for storing updated radio environment data is now described.This logic 430 is invoked when a RAP device captures updated radioenvironment data. As explained above, a RAP device may be configured toperiodically capture updated radio environment data or the controlserver 60 may command the RAP device to capture updated radioenvironment data. At 432, the control server 60 receives updated radioenvironment data from a RAP device that has already been enabled forservice. At 434, the control server 60 determines which RAP has sentupdated radio environment data (based on a RAP identifier contained inthe message with the updated radio environment data) and compares theupdated radio environment data with previously stored reference radioenvironment data for that particular RAP. At 436, when it is determinedthat the difference between the updated radio environment data and thepreviously stored reference radio environment data is less than athreshold, then the reference radio environment data is not adjustedwith the updated radio environment data. On the other hand, when thedifference is greater than a threshold, then at 440 the updated radioenvironment data is used to adjust the reference radio environment data.The existing reference radio environment data may be adjusted by acomplete overwrite with the updated radio environment data, by addingnew pieces of information in the updated radio environment data thatthat are not contained in the reference radio environment data or bychanging one or more pieces of information in the reference radioenvironment data with data in the updated radio environment data. Inthis way, when there are substantial enough changes in the RFenvironment of an RAP device, the corresponding changes in the radioenvironment data can be reflected in the reference radio environmentdata so that future location verification of the RAP device can takethese changes into account. Said another way, the reference radioenvironment data is adjusted based on the updated radio environment datadepending on a difference between the updated radio environment data andthe reference radio environment data. The reference data need not beupdated every time it is reported from an activated RAP device withverified location. However, in one form it may be desirable to bypassthe check at 436 and update the reference environment data regardless ofthe degree of difference between the updated radio environment data andthe current reference environment data. Thus, the functions at 434 and436 are optional and the logic may go directly from 432 to 440.

Turning now to FIG. 8, the logic 450 in the control server dedicated tolocation verification for reboot and service re-enablement is nowdescribed. At 452, the control server 60 receives a reboot requestmessage from a RAP device containing radio environment data captured bythe RAP device at the time of reboot. Alternatively, the request may notcontain radio environment data and control server 60 may send a controlmessage to RAP device to request this data. At 454, the control servercompares the radio environment data in the reboot request message withthe reference radio environment data for the RAP device and when thereis a substantial match at 456, the control server 60 sends a message tothe RAP device to re-enable service of the RAP so that it can resumeserving wireless client devices in the wireless network. Again,“substantial match” as used herein in connection with the comparisonbetween captured radio environment data at reboot and the referenceradio environment data is meant to include a complete match as well as amatch within a certain tolerance range. Moreover, a partial matchbetween the radio environment data at reboot with the reference radioenvironment is also possible. For example, a change in received powerstrength from neighbor cellular towers can be approximately translatedinto a distance traveled by the RAP device since the last reference wasobtained. A comparison of radio environment data can allow a certainrange of receive power variation (e.g. 6 dBm) from the prior benchmark(reference environment data). Thus, the comparison of the radioenvironment data at reboot with the reference radio environment data mayinvolve comparing a portion of the radio environment data generated atreboot with a corresponding portion of the reference radio environmentdata.

Otherwise, when there is not a match at 454, the control server 60 doesnot send a message to re-enable operation of the RAP device and at 460,the control server 60 sends a message to the RAP requesting it tocapture GPS location data. At 462, the control server 60 receives amessage from the RAP device 50 containing the GPS location data. At 464,the control server 60 compares the GPS location data received from theRAP device with the reference GPS location data for that RAP device.When there is a substantial match, at 466 the control server 60 sends amessage to the RAP device to re-enable its operation. Then, at 468, thecontrol server 60 updates the reference radio environment data based onthe radio environment data obtained by the RAP at reboot. When at 464 itis determined that the GPS location data received from the RAP deviceand the reference GPS location data do not substantially match, then thecontrol server 60 does not send a message re-enabling operation of theRAP device as indicated at 469.

Referring now to FIG. 9, a RAP device 50′ is shown that is configured toautonomously perform location verification according to the techniquesdescribed herein. The RAP device 50′ does this autonomously because,except for acquiring basic provisioning data, it does not need tointeract with the control server 60 to enable or re-enable service. TheRAP device 50′ is similar to RAP device 50 shown in FIG. 2, except thatit has autonomous service activation and reboot logic 500 instead oflogic 200 shown in FIG. 2 for RAP device 50. For simplicity, theautonomous service activation and reboot logic 500 is broken down intothree components: initial service activation and location verificationlogic 510, radio environment data update logic 530 and rebootre-enablement and location verification logic 550.

Referring to FIG. 10, with reference also to FIG. 9, the initialactivation and location verification logic 510 is described. The RAPdevice 50′ is assumed to be in a service disabled state as shown at 512.In one form, when the RAP device 50′ is powered up, at 514 it sends amessage to the control server 60 requesting provisioning data to allowthe RAP device 50′ to perform location verification for initial serviceenablement and after subsequent reboots. The provisioning data maycomprise reference GPS location data for an expected location of the RAPdevice 50′ and tolerance data that describes a tolerance range withinwith a match to the reference GPS and/or radio environment location datais to be declared. The memory 140 of the RAP device 50′ stores thereference GPS location data and tolerance settings. At 516, the RAPdevice 50′ receives the provisioning data from the control server 60. At518, the RAP device 50′ invokes the radio scan logic 150 to generateradio environment data and invokes the GPS location logic 160 to computeGPS location data from received GPS signals. At 520, the controllercompares the GPS location data captured at 518 with the reference GPSlocation data to determine whether there is a substantial match, and ifso, then at 522 the controller enables service of the RAP device 50′.Otherwise, when GPS location data captured at 518 does not substantiallymatch the reference GPS location data, service of the RAP device 50′ iskept disabled as indicated a 524.

At 526, the controller 100 stores in the memory 140 the radioenvironment data generated at 518 as reference radio environment data tobe used for future location verification purposes, e.g., at reboot, asdescribed hereinafter.

Table 3 below shows an example of the data that would be stored in RAPdevice 50′.

TABLE 3 GPS Location Data and Radio Environment Data Stored inAutonomous RAP Reference (Expected) GPS Location Data Latitude: 45′56″32N Longitude: 33′23″12 W GPS Tolerance Radius 1000 meters Reference RadioEnvironment Data Neighbor Cell ID: 34564 Receive Power: −98 dBm NeighborCell ID: 44321 Receive Power: −63 dBm Radio Environment Data PowerVariance 6 dBm Tolerance

As explained above in connection with FIG. 4, it may also be desirableto periodically repeat the location verification functions shown at514-522 even after service has been enabled for the RAP device 50′. Thiswould serve as additional location verifications that may be desired bythe service provider. If at one of these periodic location verificationtests it is determined that location verification fails, then service ofthe RAP device 50′ is disabled. Further still, prior to initial serviceenablement of the RAP device 50′, the functions 514-522 may be repeatedperiodically until service for the RAP device 50′ is eventuallyinitially enabled.

Turning now to FIG. 11 with reference to FIG. 9, the radio environmentdata update logic 530 is described. After the RAP device 50′ is enabledfor service, the logic 530 is put into a sleep mode for a configurabletime period as indicated at 532. At 536, the RAP performs a radionetwork scan to generate updated radio environment data. At 538, thecontroller 100 compares the updated radio environment data with thestored reference radio environment data. At 540, the difference betweenthe updated radio environment data and the reference radio environmentdata is compared with a threshold. When the difference is greater thanthe threshold, then at 542 the updated radio environment data isadjusted (either by overwriting with the updated radio environment data,adding new pieces of information or changing existing information) forlocation verification in the future. When the difference is not greaterthan the threshold, then as indicated at 544, the reference radioenvironment data is not adjusted with the updated radio environmentdata. That is, the controller 100 in RAP device 50′ adjusts thereference radio environment data based on the updated radio environmentdata depending on a difference between the updated radio environmentdata and the reference radio environment data. The process of updatingthe radio environment data may be repeated periodically. Alternatively,the RAP device 50′ always stores the updated radio environment data asindicated by the dotted arrow from 536 to 542 in FIG. 11.

Reference is now made to FIG. 12, with continued reference to FIG. 9,for a description of the reboot location verification logic 550. Thecontroller 100 in the RAP device 50′ invokes the reboot locationverification logic 550 when the RAP device 50′ has shut down and needsto reboot. After reboot, the RAP device 50′ powers up with servicedisabled because location verification of the RAP device 50′ must bemade before allowing it to begin transmitting RF signals as indicated at552. Upon reboot, the controller 100 invokes the radio scan logic 150 toperform a radio network scan and to generate radio environment data. At556, the controller 100 compares the radio environment data generated atreboot with the stored reference radio environment data to determinewhether they sufficiently match. When a match is determined at 556, thenat 558 the controller 100 re-enables service of the RAP device 50′. Inaddition, the controller 100 may update the reference radio environmentdata with the radio environment data obtained by the RAP device 50′ atreboot.

On the other hand, when a match is not found at 556, then at 560, thecontroller 100 invokes the GPS location logic to generate GPS locationdata from received GPS signals. At 562, the controller 100 compares theGPS location data with the stored reference GPS location data. When amatch is found at 562, the controller re-enables service of the RAPdevice 50′ at 558. Otherwise, the controller 100 keeps service of theRAP device 50′ disabled as indicated at 564 and attempt to perform thelogic depicted in FIG. 12 again at a later time.

Thus, the autonomous RAP device 50′ can perform location verification onits own at initial service activation and also at reboot to enable orre-enable, as the case may be, service of the RAP device 50′. When theRAP device 50′ stores data for later comparison, it should be understoodthat such data storage is made into memory that persists after reboot,i.e., non-volatile memory.

While the foregoing description refers to verifying the location of anRAP device for purposes of enabling or re-enabling service of the RAPdevice, this is not meant to be limiting. Another application of thelocation information is to determine and assign to the RAP deviceparameters which may be unique to a specific location, such as thefrequency on which it is to transmit wireless signals for serving mobilecommunication handsets in the wireless communication network. Thus,after the location of the RAP device is verified, the control server 60(FIG. 1) may transmit a message indicating the frequency on which theRAP device should transmit in the wireless network based on the locationof the RAP device. Still another application may involve configuring theRAP device with a list of candidate parameters for it to choosedepending on specific location. For example, more than one potentialfrequency of operation may be provided to RAP. The RAP device would thenconfigure itself to use a particular frequency that depends on where itis located, and only after verifying its location.

The collaborative and autonomous version of the location verificationprocess described herein both have the advantage of reducing reliance onGPS location procedures. The radio network scan is configured to finishin a predictable amount of time and usually much faster and morereliably than it would take to obtain a GPS lock and produce GPSlocation data. Unlike GPS, the radio network scan does not depend onreasonable line-of-sight to the sky. Therefore, the radio environmentdata can be used as a shortcut for location verification once the GPSlocation coordinates have been initially verified. The radio environmentdata is stored for future location verification. Use of the radionetwork scan in this manner reduces reliance on GPS for locationverification of the RAP device. However, GPS may still be needed duringreboot if there is a substantial radio environment data mismatch and inother scenarios as the ultimate authority on absolute position of RAPdevice.

Although the apparatus, system, and method are illustrated and describedherein as embodied in one or more specific examples, it is neverthelessnot intended to be limited to the details shown, since variousmodifications and structural changes may be made therein withoutdeparting from the scope of the apparatus, system, and method and withinthe scope and range of equivalents of the claims. Accordingly, it isappropriate that the appended claims be construed broadly and in amanner consistent with the scope of the apparatus, system, and method,as set forth in the following claims.

What is claimed is:
 1. A method comprising: at a radio access pointdevice: receiving signals from global positioning system (GPS) satellitetransmitters to produce GPS location data representing a GPS location ofthe radio access point device; receiving wireless signals in one or morespecified channels and generating radio environment data representingcharacteristics of received wireless signals in the one or morespecified channels; comparing the GPS location data with reference GPSlocation data for an expected location of the radio access point device;verifying that the radio access point device is at an acceptablelocation when results of the comparing indicate that the GPS locationdata substantially matches the reference GPS location data; when the GPSlocation data does not substantially match the reference GPS locationdata, disabling service of the radio access point device such that whenthe radio access point device is subsequently rebooted, the radio accesspoint device subsequently boots up with service disabled; receivingadditional wireless signals to generate additional radio environmentdata; comparing the additional radio environment data with referenceradio environment data; and re-enabling service of the radio accesspoint device when the additional radio environment data substantiallymatches the reference radio environment data.
 2. The method of claim 1,further comprising updating the reference radio environment data basedon the additional radio environment data.
 3. The method of claim 2,further comprising a period of time after service of the radio accesspoint device is re-enabled, generating updated radio environment data ona periodic basis based on further received wireless signals.
 4. Themethod of claim 2, further comprising a period of time after service ofthe radio access point device is re-enabled, generating updated radioenvironment data based on further received wireless signals in responseto a command from a control server.
 5. The method of claim 1, furthercomprising a period of time after re-enabling service of the radioaccess point device, receiving further wireless signals to generateupdated radio environment data, and adjusting the reference radioenvironment data based on the updated radio environment data.
 6. Themethod of claim 1, wherein the radio environment data and the referenceradio environment data comprise: an identifier of a cellular radiotransceiver that services a cell, a country code from a cellular signal,a network code from the cellular signal or another cellular signal, afrequency of the cellular signal or the other cellular signal, and areceived power of a signal from the cellular radio transceiver.
 7. Themethod of claim 1, wherein comparing the additional radio environmentdata with the reference radio environment data comprises comparing aportion of the additional radio environment data generated at reboot ofthe radio access point device with a corresponding portion of thereference radio environment data.
 8. The method of claim 1, furthercomprising receiving provisioning data from a control server, whereinthe provisioning data includes the reference GPS location data for anexpected location of the radio access point device and tolerance datathat describes a tolerance range within which a match to the referenceGPS location and/or the radio environment data is to be declared.
 9. Themethod of claim 1, further comprising periodically repeating receivingthe signals from the GPS satellite transmitters, receiving the wirelesssignals in the one or more specified channels and generating the radioenvironment data, and comparing the GPS location data with the referenceGPS location data in order to perform additional location verificationseven after service is enabled at the radio access point device.
 10. Themethod of claim 1, further comprising periodically repeating receivingthe signals from the GPS satellite transmitters, receiving the wirelesssignals in the one or more specified channels and generating the radioenvironment data, and comparing the GPS location data with the referenceGPS location data until service for the radio access point device iseventually initially enabled.
 11. A radio access point devicecomprising: a radio transceiver unit configured to transmit and receivewireless signals associated with a wireless communication network toserve wireless mobile communication devices that operate in the wirelesscommunication network, wherein the radio transceiver unit is configuredto receive the wireless signals at one or more channels to generateradio environment data representing characteristics of received wirelesssignals at the one or more channels; a global positioning system (GPS)receiver unit configured to receive GPS signals from multiple satellitetransmitters and to compute GPS location data representing a GPSlocation from the GPS signals; and a controller configured to connect tothe radio transceiver unit and to the GPS receiver unit, wherein thecontroller is configured to: generate radio environment datarepresenting characteristics of the received wireless signals at the oneor more channels; compare the GPS location data with reference GPSlocation data for an expected location of the radio access point device;verify that the radio access point device is at an acceptable locationwhen results of the comparing indicate that the GPS location datasubstantially matches the reference GPS location data; when the GPSlocation data does not substantially match the reference GPS locationdata, disable service of the radio access point device such that whenthe radio access point device is subsequently rebooted, the radio accesspoint device subsequently boots up with service disabled; generateadditional radio environment data based on additional wireless signalsreceived by the radio transceiver unit; compare the additional radioenvironment data with reference radio environment data; and re-enableservice of the radio access point device when the additional radioenvironment data substantially matches the reference radio environmentdata.
 12. The radio access point device of claim 11, wherein thecontroller is further configured to update the reference radioenvironment data based on the additional radio environment data.
 13. Theradio access point device of claim 11, wherein a period of time afterre-enabling service of the radio access point device, the controller isconfigured to generate updated radio environment data, and adjust thereference radio environment data based on the updated radio environmentdata.
 14. The radio access point device of claim 11, wherein the radioenvironment data and the reference radio environment data comprise: anidentifier of a cellular radio transceiver that services a cell, acountry code from a cellular signal, a network code from the cellularsignal or another cellular signal, a frequency of the cellular signal orthe other cellular signal, and a received power of a signal from thecellular radio transceiver.
 15. The radio access point device of claim11, wherein the controller is configured to compare the additional radioenvironment data with the reference radio environment data by comparinga portion of the additional radio environment data generated at rebootof the radio access point device with a corresponding portion of thereference radio environment data.
 16. The radio access point device ofclaim 11, wherein the controller is further configured to receiveprovisioning data from a control server, wherein the provisioning dataincludes the reference GPS location data for an expected location of theradio access point device and tolerance data that describes a tolerancerange within which a match to the reference GPS location and/or theradio environment data is to be declared.
 17. One or more non-transitorytangible computer readable storage media encoded with instructions forexecution and when executed by a processor in a radio access pointdevice, the processor is operable to: generate global positioning system(GPS) location data from signals received from satellite transmitters,the GPS location data representing a GPS location of the radio accesspoint device; generate radio environment data representingcharacteristics of received wireless signals by the radio access pointdevice in one or more channels; compare the GPS location data withreference GPS location data for an expected location of the radio accesspoint device; verify that the radio access point device is at anacceptable location when results of the comparing indicate that the GPSlocation data substantially matches the reference GPS location data;when the GPS location data does not substantially match the referenceGPS location data, disable service of the radio access point device suchthat when the radio access point device is subsequently rebooted, theradio access point device boots up with service disabled; generateadditional radio environment data based on received additional wirelesssignals; compare the additional radio environment data with referenceradio environment data; and re-enable service of the radio access pointdevice when the additional radio environment data substantially matchesthe reference radio environment data.
 18. The non-transitory computerreadable storage media of claim 17, further comprising instructions thatcause the processor to, a period of time after re-enabling service ofthe radio access point device, generate updated radio environment datafrom further wireless signals received, and adjust the reference radioenvironment data based on the updated radio environment data.
 19. Thenon-transitory computer readable storage media of claim 17, furthercomprising instructions that cause the processor to update the referenceradio environment data based on the additional radio environment data.20. The non-transitory computer readable storage media of claim 17,wherein the instructions that cause the processor to compare theadditional radio environment data with the reference radio environmentdata comprise instructions that cause the processor to compare a portionof the additional radio environment data generated at reboot of theradio access point device with a corresponding portion of the referenceradio environment data.